import axios from 'axios'
// 请求参数转码 let a= {name: a, age: 10} to /url?name=a&age=10
import qs from 'qs'
import router from "../router";

// 添加响应拦截器
axios.interceptors.response.use(function (response) {
  console.log(response);
  // 这里可以获取的
  // const status = response.status;
  // 对响应数据做点什么
  return response;
}, function (error) {
  console.log(error.response.status);
  // 对响应错误做点什么
  if (error.response.status == '404'){
    router.push({path: '404'});
  }
  return Promise.reject(error)
});
export const reqRealEndAsync = (method, baseUrl, url, params, callback) => {
  params.token = sessionStorage.getItem("token")
  return axios({
    timeout: 5000, // 超时时间5s
    baseURL: baseUrl,
    method: method,
    url: url,
    headers: {
      'Content-type': 'application/x-www-form-urlencoded' // 指定请求参数为在url后编码的方式
    },
    data: qs.stringify(params),
    traditional: true
  }).then(res => { // 处理返回值
    let result = res.data
    if (result.code == 401) { // 验证失败
      router.replace({
        path: 'login',
        query: {
          msg: result.msg
        }
      });
    } else {
      if (callback != undefined) {
        callback(result.code, result.msg, result.data)
      }
    }
  }).catch( error => {
    console.log(error)
  })
}

export const reqRealEnd = (method, baseUrl, url, params) => {
  params.token = sessionStorage.getItem("token")
  return axios({
    timeout: 5000, // 超时时间5s
    baseURL: baseUrl,
    method: method,
    url: url,
    headers: {
      'Content-type': 'application/x-www-form-urlencoded' // 指定请求参数为在url后编码的方式
    },
    data: qs.stringify(params),
    traditional: true
  }).catch(error => {
    console.log(error)
  })
}
